Low-Level Programming in Hume: An Exploration of the HW-Hume Level
نویسندگان
چکیده
This paper describes the HW-Hume level of the novel Hume language. HW-Hume is the simplest subset of Hume that we have identified. It provides strong formal properties but posseses limited abstraction capabilities. In this paper, we introduce HW-Hume, show some simple example programs, describe an eÆcient software implementation, and demonstrate how important properties can be exposed as part of an integrated formally-based verification approach.
منابع مشابه
HW-Hume in Isabelle
HW-Hume is the decidable Hume level oriented to direct implementation in hardware. As a first stage in the development of a verified compiler from HW-Hume to Java, we have implemented the semantics of HW-Hume in the Isabelle/HOL theorem prover, enabling the automatic proof of correctness of programs in a Floyd/Hoare style.
متن کاملModel Checking Hw-Hume
Safety-critical software systems call for effective analysis that ensures the correctness of the systems. HUME is a functional programming language, targeted at safety-critical systems, which supports such analysis for time and space, but does not support verification. This topic is explored by using an off-the-shelf design verification system called SPIN. The result is then empirically analysed.
متن کاملReasoning about correctness properties of a coordination programming language
Safety critical systems place additional requirements to the programming language used to implement them with respect to traditional environments. Examples of features that influence the suitability of a programming language in such environments include complexity of definitions, expressive power, bounded space and time and verifiability. Hume is a novel programming language with a design which...
متن کاملExploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: The Hume Approach
This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machi...
متن کاملCompiling Hume down to gates
We describe the implementation of a subset of the Hume programming language on a FPGA architecture at the gate level. Hume is a domain specific language for developping multi-process systems requiring strong static guarantees that resource bounds are met. The compiler produces RT-level, synthetizable VHDL code that can be processed by a standard tool chain to program FPGAs at the gate level. Pr...
متن کامل